Many systems provide driving, walking, or public transit directions. Web sites, such as BING Maps and MapQuest, can provide these types of directions from one place to another. There are also various standalone systems, such as automobile navigation boxes and dashboard consoles, that likewise can provide directions. Normally, the problem of finding directions from one point to another is solved by using an edge-weighted directed graph that represents a map, and applying an algorithm such as Dijkstra's algorithm or A* to find the lowest-cost path through the graph.
A problem with providing directions in this way is that doing so presumes that the graph has correct connectivity information, and is up-to-date. Connectivity refers to the property that branches on the graph correctly represent turns that can be made in real-life geography. For example, if nodes A, B, and C represent places on a map, and if the graph shows that, from node A, one can branch either to node B or to node C, then it is assumed that it is possible in real life to take either branch. If turns corresponding to these branches cannot be made in real-life, then the connectivity information in the graph is incorrect. Moreover, in real life, roads are added, or closed for construction, or realigned, so the information in the graph may become out of date.
Digital map providers expend resources attempting to keep their graphs correct and up-to-date. But it can be difficult to do so, and many directions that are provided using their techniques can be incorrect.